// sgu339
// 题意：
// 有250000个操作，有两种类型：
//  1. + l r, 表示输出当前包含（不严格）在l, r线段内的线段个数，然后
//     加上[l, r]这段线段；
//  2. - l r，删除一个[l, r]线段，如果没有忽略。
//  保证同时不会有超过1000个线段。
//
// 题解：
// 不会做。但是暴力能过...
//
// run: $exec < input
#include <iostream>

int const maxn = 2000;
bool vis[maxn];
int al[maxn];
int ar[maxn];
int tot;

int main()
{
	std::ios::sync_with_stdio(false);
	char ch;
	int l, r;
	while (std::cin >> ch >> l >> r) {
		if (ch == '-') {
			for (int i = 0; i < 1000; i++) {
				if (!vis[i]) continue;
				if (al[i] == l && ar[i] == r) {
					vis[i] = false;
					break;
				}
			}
		} else {
			int ans = 0, pos = 0;
			for (int i = 0; i < 1000; i++) {
				if (!vis[i]) continue;
				if (al[i] >= l && ar[i] <= r)
					ans++;
			}
			for (int i = 0; i < 1000; i++)
				if (!vis[i]) { pos = i; break; }
			al[pos] = l; ar[pos] = r; vis[pos] = true;
			std::cout << ans << '\n';
		}
	}
}

